package com.atguigu.info;

import java.security.Provider;
import java.security.Security;
import java.util.Set;

/**
 * @author : wushikai
 * <p>
 * date : 2021-04-22
 */
public class CipherDemo {

    /**
     * 查看当前的使用的JDK中Cipher的所有提供商和支持的加解密服务
     *
     * @see com.atguigu.Des.AesUtil   这个类用的就是:
     *
     * provider:SunJCE version 1.8,type:Cipher,algorithm:AES_128/GCM/NoPadding
     *
     * */
    public static void showAllProviders() {


        System.out.println("这个版本支持的 transformation 如下: ");
        Provider[] providers = Security.getProviders();  //获取 当前环境中的 安全提供者;
        if (null != providers) {
            for (Provider provider : providers) {
                Set<Provider.Service> services = provider.getServices();

                for (Provider.Service service : services) {
                    if ("Cipher".equals(service.getType())) {
                        System.out.println(String.format("provider:%s,type:%s,algorithm:%s", service.getProvider(), service.getType(), service.getAlgorithm()));
                    }
                }
            }
        }

    }


    public static void main(String[] args) {
        showAllProviders();
    }

}
